home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / ISSUE12 / PARSER / TEST1.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1996-07-25  |  2.5 KB  |  125 lines

  1. unit Test1;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Memo1: TMemo;
  12.     test1Button: TButton;
  13.     test2Button: TButton;
  14.     oopsButton: TButton;
  15.     procedure FormCreate(Sender: TObject);
  16.     procedure test1ButtonClick(Sender: TObject);
  17.     procedure test2ButtonClick(Sender: TObject);
  18.     procedure oopsButtonClick(Sender: TObject);
  19.   private
  20.     t : TextFile;
  21.     s : string;
  22.   public
  23.     { Public declarations }
  24.   end;
  25.  
  26. var
  27.   Form1: TForm1;
  28.  
  29. implementation
  30.  
  31. uses sdd;
  32.  
  33. {$R *.DFM}
  34.  
  35. procedure TForm1.FormCreate(Sender: TObject);
  36. begin
  37.   Memo1.Clear;
  38.   AssignSt(t,s);
  39. end;
  40.  
  41. procedure TForm1.test1ButtonClick(Sender: TObject);
  42. var
  43.   s1,s2,s3,s4 : string[23];
  44.   n1,n2 : byte;
  45.   n3 : word;
  46. begin
  47.   s := 'One Thing,after another,comma delimited,45 32 651,hike!';
  48.   with memo1,lines do
  49.   begin
  50.     add('--- Start of test 1, s follows ---');
  51.     add(s);
  52.     add('--- results follow ---');
  53.     delim(s,',',false);
  54.     reset(t);
  55.     readln(t,s1);
  56.     readln(t,s2);
  57.     readln(t,s3);
  58.     read(t,n1);
  59.     readln(t,n2,n3);
  60.     readln(t,s4);
  61.     add(s1);
  62.     add(s2);
  63.     add(s3);
  64.     rewrite(t);
  65.     write(t,n1);
  66.     add(s);
  67.     rewrite(t);
  68.     write(t,n2);
  69.     add(s);
  70.     s := 'an append attempt:';
  71.     append(t);
  72.     write(t,n3);
  73.     add(s);
  74.     add(s4);
  75.   end;
  76. end;
  77.  
  78. procedure TForm1.test2ButtonClick(Sender: TObject);
  79. var
  80.   s1,s2 : string[23];
  81.   r : extended;
  82. begin
  83.   s := 'string\13.21 -789 88999\more string';
  84.   with memo1,lines do
  85.   begin
  86.     add('--- Start of test 2, s follows ---');
  87.     add(s);
  88.     add('--- results follow ---');
  89.     delim(s,'\',false);
  90.     reset(t);
  91.     readln(t,s1); add(s1);
  92.     readln(t,r);  add(FloatToStr(r));
  93.     readln(t,s2); add(s2);
  94.   end;
  95. end;
  96.  
  97. procedure TForm1.oopsButtonClick(Sender: TObject);
  98. var
  99.   s1,s2 : string[23];
  100.   r : extended;
  101.   w : word;
  102.   l : longint;
  103.   io : integer;
  104. begin
  105.   s := 'string:13.21 789.7 88999:more string';
  106.   with memo1,lines do
  107.   begin
  108.     add('--- Start of oops test, s follows ---');
  109.     add(s);
  110.     add('--- results follow ---');
  111.     delim(s,':',false);
  112.     reset(t);
  113.     readln(t,s1); add(s1);
  114.     read(t,r);    add(FloatToStr(r));
  115.     try
  116.       read(t,w);  add(IntToStr(w));
  117.     except
  118.       MessageDlg('Wrong type',mtInformation,[mbOk],0);
  119.     end;
  120.     readln(t,l);  add(IntToStr(l));
  121.     readln(t,s2); add(s2);
  122.   end;
  123. end;
  124.  
  125. end.